package com.ks.component.pay;

import com.ks.common.model.PayInfoVO;

/**
 * 薪酬策略
 *
 * @author KingAusten
 * @date 2022/08/18 16:17:03
 */
public interface PayStrategy{

    /**
     * 统一下单接口
     *
     * @param payInfoVO
     *
     * @return
     */
    String unifiedOrder(PayInfoVO payInfoVO);


    /**
     * 退款接口
     *
     * @param payInfoVO
     *
     * @return
     */
    default String refund(PayInfoVO payInfoVO){return "";}


    /**
     * 查询支付状态
     *
     * @param payInfoVO
     *
     * @return
     */
    default String queryPayStatus(PayInfoVO payInfoVO){return "";}


    /**
     * 关闭订单
     *
     * @param payInfoVO
     *
     * @return
     */
    default String closeOrder(PayInfoVO payInfoVO){return "";}

}
